﻿///////////////////////////////////////////////////////////////
// This is generated code. 
//////////////////////////////////////////////////////////////
// Code is generated using LLBLGen Pro version: 2.5
// Code is generated on: Thursday, October 16, 2008 1:31:24 PM
// Code is generated using templates: SD.TemplateBindings.SharedTemplates.NET20
// Templates vendor: Solutions Design.
// Templates version: 
//////////////////////////////////////////////////////////////
using System;
using System.ComponentModel;
using System.Data;
using System.Collections;
#if !CF
using System.Runtime.Serialization;
#endif

using NL.ADA.ConfigService.DAL.EntityClasses;
using NL.ADA.ConfigService.DAL.HelperClasses;
using NL.ADA.ConfigService.DAL.FactoryClasses;

using SD.LLBLGen.Pro.ORMSupportClasses;

namespace NL.ADA.ConfigService.DAL.TypedListClasses
{
	
	// __LLBLGENPRO_USER_CODE_REGION_START AdditionalNamespaces
	// __LLBLGENPRO_USER_CODE_REGION_END
	

	/// <summary>
	/// Typed datatable for the list 'SelectAllConfig'.<br/><br/>
	/// 
	/// </summary>
	/// <remarks>
	/// The code doesn't support any changing of data. Users who do that are on their own.
	/// It also doesn't support any event throwing. This list should be used as a base for readonly databinding
	/// or dataview construction.
	/// </remarks>
#if !CF	
	[Serializable, System.ComponentModel.DesignerCategory("Code")]
	[ToolboxItem(true)]
	[DesignTimeVisible(true)]
#endif	
	public partial class SelectAllConfigTypedList : TypedListBase2, IEnumerable, ITypedListLgp2
		// __LLBLGENPRO_USER_CODE_REGION_START AdditionalInterfacesList
		// __LLBLGENPRO_USER_CODE_REGION_END
			
	{
		#region Class Member Declarations
		private DataColumn _columnConfigId;
		private DataColumn _columnConfigDescription;
		private DataColumn _columnKey;
		private DataColumn _columnValue;
		private DataColumn _columnModeId;
		private DataColumn _columnModeName;
		private DataColumn _columnModeDescription;
		private DataColumn _columnAppCode;
		private DataColumn _columnApplicationId;
		private DataColumn _columnConfigTypeName;
		private DataColumn _columnConfigTypeDescription;
		private DataColumn _columnConfigTypeId;
		private ResultsetFields _fields;
		private IRelationPredicateBucket _filterBucket;
		
		// __LLBLGENPRO_USER_CODE_REGION_START AdditionalMembers
		// __LLBLGENPRO_USER_CODE_REGION_END
		
		private static Hashtable	_customProperties;
		private static Hashtable	_fieldsCustomProperties;
		#endregion

		#region Class Constants
		/// <summary>The amount of fields in the resultset.</summary>
		private const int AmountOfFields = 12;
		#endregion


		/// <summary>Static CTor for setting up custom property hashtables. Is executed before the first instance of this
		/// class or derived classes is constructed. </summary>
		static SelectAllConfigTypedList()
		{
			SetupCustomPropertyHashtables();
		}
		

		/// <summary>CTor</summary>
		public SelectAllConfigTypedList():base("SelectAllConfig")
		{
			InitClass(false);
		}
		
		
		/// <summary>CTor</summary>
		/// <param name="obeyWeakRelations">The flag to signal the collection what kind of join statements to generate in the
		/// query statement. Weak relationships are relationships which are optional, for example a
		/// customer with no orders is possible, because the relationship between customer and order is based on a field in order.
		/// When this property is set to true (default: false), weak relationships will result in LEFT JOIN statements. When
		/// set to false (which is the default), INNER JOIN statements are used.
		/// </param>
		public SelectAllConfigTypedList(bool obeyWeakRelations):base("SelectAllConfig")
		{
			InitClass(obeyWeakRelations);
		}
		
		
#if !CF	
		/// <summary>Protected constructor for deserialization.</summary>
		/// <param name="info"></param>
		/// <param name="context"></param>
		protected SelectAllConfigTypedList(SerializationInfo info, StreamingContext context):base(info, context)
		{
			if(SerializationHelper.Optimization == SerializationOptimization.None)
			{
				InitMembers();
				BuildResultset();
			}
		}
#endif		

		/// <summary>Gets the IEntityFields2 collection of fields of this typed view. Use this method in combination with the FetchTypedView() methods in 
		/// DataAccessAdapter.</summary>
		/// <returns>Ready to use IEntityFields2 collection object.</returns>
		public virtual IEntityFields2 GetFieldsInfo()
		{
			return _fields;
		}


		/// <summary>Gets the IRelationPredicateBucket object which contains the relation information for this Typed List. Use this method in combination with the 
		/// FetchTypedList() methods in DataAccessAdapter.</summary>
		/// <returns>Ready to use IRelationPredicateBucket object.</returns>
		public virtual IRelationPredicateBucket GetRelationInfo()
		{
			_filterBucket = new RelationPredicateBucket();
			BuildRelationSet();
			return _filterBucket;
		}


		/// <summary>Gets the enumerator for this class.</summary>
		/// <returns>Enumerator for this class.</returns>
		public IEnumerator GetEnumerator()
		{
			return this.Rows.GetEnumerator();
		}


		/// <summary>Creates a new typed row during the build of the datatable during a Fill session by a dataadapter.</summary>
		/// <param name="rowBuilder">supplied row builder to pass to the typed row</param>
		/// <returns>the new typed datarow</returns>
		protected override DataRow NewRowFromBuilder(DataRowBuilder rowBuilder) 
		{
			return new SelectAllConfigRow(rowBuilder);
		}


		/// <summary>Initializes the hashtables for the typed list type and typed list field custom properties. </summary>
		private static void SetupCustomPropertyHashtables()
		{
			_customProperties = new Hashtable();
			_fieldsCustomProperties = new Hashtable();

			Hashtable fieldHashtable = null;

			fieldHashtable = new Hashtable();

			_fieldsCustomProperties.Add("ConfigId", fieldHashtable);
			fieldHashtable = new Hashtable();

			_fieldsCustomProperties.Add("ConfigDescription", fieldHashtable);
			fieldHashtable = new Hashtable();

			_fieldsCustomProperties.Add("Key", fieldHashtable);
			fieldHashtable = new Hashtable();

			_fieldsCustomProperties.Add("Value", fieldHashtable);
			fieldHashtable = new Hashtable();

			_fieldsCustomProperties.Add("ModeId", fieldHashtable);
			fieldHashtable = new Hashtable();

			_fieldsCustomProperties.Add("ModeName", fieldHashtable);
			fieldHashtable = new Hashtable();

			_fieldsCustomProperties.Add("ModeDescription", fieldHashtable);
			fieldHashtable = new Hashtable();

			_fieldsCustomProperties.Add("AppCode", fieldHashtable);
			fieldHashtable = new Hashtable();

			_fieldsCustomProperties.Add("ApplicationId", fieldHashtable);
			fieldHashtable = new Hashtable();

			_fieldsCustomProperties.Add("ConfigTypeName", fieldHashtable);
			fieldHashtable = new Hashtable();

			_fieldsCustomProperties.Add("ConfigTypeDescription", fieldHashtable);
			fieldHashtable = new Hashtable();

			_fieldsCustomProperties.Add("ConfigTypeId", fieldHashtable);			
		}


		/// <summary>Builds the relation set for this typed list, inside the filterBucket object.</summary>
		private void BuildRelationSet()
		{
			_filterBucket.Relations.ObeyWeakRelations = base.ObeyWeakRelations;
			_filterBucket.Relations.Add(ConfigEntity.Relations.ApplicationEntityUsingApplicationId, "", "", JoinHint.None);
			_filterBucket.Relations.Add(ConfigEntity.Relations.ConfigTypeEntityUsingConfigType, "", "", JoinHint.None);
			_filterBucket.Relations.Add(ConfigEntity.Relations.ModeEntityUsingModeId, "", "", JoinHint.None);
			
			// __LLBLGENPRO_USER_CODE_REGION_START AdditionalRelations
			// __LLBLGENPRO_USER_CODE_REGION_END
			
			OnRelationSetBuilt(_filterBucket.Relations);
		}


		/// <summary>Builds the resultset fields, stored in the private _fields object</summary>
		private void BuildResultset()
		{
			_fields = new ResultsetFields(AmountOfFields);
			_fields.DefineField(ConfigFields.Id, 0, "ConfigId", "", AggregateFunction.None);
			_fields.DefineField(ConfigFields.Description, 1, "ConfigDescription", "", AggregateFunction.None);
			_fields.DefineField(ConfigFields.Key, 2, "Key", "", AggregateFunction.None);
			_fields.DefineField(ConfigFields.Value, 3, "Value", "", AggregateFunction.None);
			_fields.DefineField(ModeFields.Id, 4, "ModeId", "", AggregateFunction.None);
			_fields.DefineField(ModeFields.Name, 5, "ModeName", "", AggregateFunction.None);
			_fields.DefineField(ModeFields.Description, 6, "ModeDescription", "", AggregateFunction.None);
			_fields.DefineField(ApplicationFields.AppCode, 7, "AppCode", "", AggregateFunction.None);
			_fields.DefineField(ApplicationFields.Id, 8, "ApplicationId", "", AggregateFunction.None);
			_fields.DefineField(ConfigTypeFields.Name, 9, "ConfigTypeName", "", AggregateFunction.None);
			_fields.DefineField(ConfigTypeFields.Description, 10, "ConfigTypeDescription", "", AggregateFunction.None);
			_fields.DefineField(ConfigTypeFields.Id, 11, "ConfigTypeId", "", AggregateFunction.None);
			
			// __LLBLGENPRO_USER_CODE_REGION_START AdditionalFields
			// be sure to call _fields.Expand(number of new fields) first. 
			// __LLBLGENPRO_USER_CODE_REGION_END
			
			OnResultsetBuilt(_fields);
		}


		/// <summary>Initialize the datastructures.</summary>
		/// <param name="obeyWeakRelations">flag for the internal used relations object</param>
		protected override void InitClass(bool obeyWeakRelations)
		{
			TableName = "SelectAllConfig";		
			base.ObeyWeakRelations = obeyWeakRelations;

			_columnConfigId = new DataColumn("ConfigId", typeof(System.Int32), null, MappingType.Element);
			_columnConfigId.ReadOnly = true;
			_columnConfigId.Caption = @"Id";
			this.Columns.Add(_columnConfigId);
			_columnConfigDescription = new DataColumn("ConfigDescription", typeof(System.String), null, MappingType.Element);
			_columnConfigDescription.ReadOnly = true;
			_columnConfigDescription.Caption = @"Description";
			this.Columns.Add(_columnConfigDescription);
			_columnKey = new DataColumn("Key", typeof(System.String), null, MappingType.Element);
			_columnKey.ReadOnly = true;
			_columnKey.Caption = @"Key";
			this.Columns.Add(_columnKey);
			_columnValue = new DataColumn("Value", typeof(System.String), null, MappingType.Element);
			_columnValue.ReadOnly = true;
			_columnValue.Caption = @"Value";
			this.Columns.Add(_columnValue);
			_columnModeId = new DataColumn("ModeId", typeof(System.Int32), null, MappingType.Element);
			_columnModeId.ReadOnly = true;
			_columnModeId.Caption = @"Id_";
			this.Columns.Add(_columnModeId);
			_columnModeName = new DataColumn("ModeName", typeof(System.String), null, MappingType.Element);
			_columnModeName.ReadOnly = true;
			_columnModeName.Caption = @"Name";
			this.Columns.Add(_columnModeName);
			_columnModeDescription = new DataColumn("ModeDescription", typeof(System.String), null, MappingType.Element);
			_columnModeDescription.ReadOnly = true;
			_columnModeDescription.Caption = @"Description_";
			this.Columns.Add(_columnModeDescription);
			_columnAppCode = new DataColumn("AppCode", typeof(System.String), null, MappingType.Element);
			_columnAppCode.ReadOnly = true;
			_columnAppCode.Caption = @"AppCode";
			this.Columns.Add(_columnAppCode);
			_columnApplicationId = new DataColumn("ApplicationId", typeof(System.Int32), null, MappingType.Element);
			_columnApplicationId.ReadOnly = true;
			_columnApplicationId.Caption = @"Id";
			this.Columns.Add(_columnApplicationId);
			_columnConfigTypeName = new DataColumn("ConfigTypeName", typeof(System.String), null, MappingType.Element);
			_columnConfigTypeName.ReadOnly = true;
			_columnConfigTypeName.Caption = @"Name";
			this.Columns.Add(_columnConfigTypeName);
			_columnConfigTypeDescription = new DataColumn("ConfigTypeDescription", typeof(System.String), null, MappingType.Element);
			_columnConfigTypeDescription.ReadOnly = true;
			_columnConfigTypeDescription.Caption = @"Description";
			this.Columns.Add(_columnConfigTypeDescription);
			_columnConfigTypeId = new DataColumn("ConfigTypeId", typeof(System.Int32), null, MappingType.Element);
			_columnConfigTypeId.ReadOnly = true;
			_columnConfigTypeId.Caption = @"Id";
			this.Columns.Add(_columnConfigTypeId);
			
			// __LLBLGENPRO_USER_CODE_REGION_START InitClass
			// __LLBLGENPRO_USER_CODE_REGION_END
			

			BuildResultset();
			_filterBucket = new RelationPredicateBucket();
			BuildRelationSet();
			OnInitialized();
		}


		/// <summary>Initializes the members, after a clone action.</summary>
		private void InitMembers()
		{
			_columnConfigId = this.Columns["ConfigId"];
			_columnConfigDescription = this.Columns["ConfigDescription"];
			_columnKey = this.Columns["Key"];
			_columnValue = this.Columns["Value"];
			_columnModeId = this.Columns["ModeId"];
			_columnModeName = this.Columns["ModeName"];
			_columnModeDescription = this.Columns["ModeDescription"];
			_columnAppCode = this.Columns["AppCode"];
			_columnApplicationId = this.Columns["ApplicationId"];
			_columnConfigTypeName = this.Columns["ConfigTypeName"];
			_columnConfigTypeDescription = this.Columns["ConfigTypeDescription"];
			_columnConfigTypeId = this.Columns["ConfigTypeId"];
			
			// __LLBLGENPRO_USER_CODE_REGION_START InitMembers
			// __LLBLGENPRO_USER_CODE_REGION_END
			
			OnInitialized();
		}


		/// <summary>Return the type of the typed datarow</summary>
		/// <returns>returns the requested type</returns>
		protected override Type GetRowType() 
		{
			return typeof(SelectAllConfigRow);
		}


		/// <summary>Clones this instance.</summary>
		/// <returns>A clone of this instance</returns>
		public override DataTable Clone() 
		{
			SelectAllConfigTypedList cloneToReturn = ((SelectAllConfigTypedList)(base.Clone()));
			cloneToReturn.InitMembers();
			return cloneToReturn;
		}
		
#if !CF
		/// <summary>Creates a new instance of the DataTable class.</summary>
		/// <returns>a new instance of a datatable with this schema.</returns>
		protected override DataTable CreateInstance() 
		{
			return new SelectAllConfigTypedList();
		}
#endif

		#region Class Property Declarations
		/// <summary>Returns the amount of rows in this typed list.</summary>
		[System.ComponentModel.Browsable(false)]
		public override int Count 
		{
			get 
			{
				return this.Rows.Count;
			}
		}
		
		/// <summary>The custom properties for this TypedList type.</summary>
		/// <remarks>The data returned from this property should be considered read-only: it is not thread safe to alter this data at runtime.</remarks>
		public static Hashtable CustomProperties
		{
			get { return _customProperties;}
		}

		/// <summary>The custom properties for the type of this TypedList instance.</summary>
		/// <remarks>The data returned from this property should be considered read-only: it is not thread safe to alter this data at runtime.</remarks>
		[System.ComponentModel.Browsable(false)]
		public virtual Hashtable CustomPropertiesOfType
		{
			get { return SelectAllConfigTypedList.CustomProperties;}
		}

		/// <summary>The custom properties for the fields of this TypedList type. The returned Hashtable contains per fieldname a hashtable of name-value
		/// pairs. </summary>
		/// <remarks>The data returned from this property should be considered read-only: it is not thread safe to alter this data at runtime.</remarks>
		public static Hashtable FieldsCustomProperties
		{
			get { return _fieldsCustomProperties;}
		}

		/// <summary>The custom properties for the fields of the type of this TypedList instance. The returned Hashtable contains per fieldname a hashtable of name-value
		/// pairs. </summary>
		/// <remarks>The data returned from this property should be considered read-only: it is not thread safe to alter this data at runtime.</remarks>
		[System.ComponentModel.Browsable(false)]
		public virtual Hashtable FieldsCustomPropertiesOfType
		{
			get { return SelectAllConfigTypedList.FieldsCustomProperties;}
		}

		/// <summary>Indexer of this strong typed list</summary>
		public SelectAllConfigRow this[int index] 
		{
			get 
			{
				return ((SelectAllConfigRow)(this.Rows[index]));
			}
		}
		
		/// <summary>Gets an array of all SelectAllConfigRow objects.</summary>
		/// <returns>Array with SelectAllConfigRow objects</returns>
		public new SelectAllConfigRow[] Select()
		{
			return (SelectAllConfigRow[])base.Select();
		}


		/// <summary>Gets an array of all SelectAllConfigRow objects that match the filter criteria in order of primary key (or lacking one, order of addition.) </summary>
		/// <param name="filterExpression">The criteria to use to filter the rows.</param>
		/// <returns>Array with SelectAllConfigRow objects</returns>
		public new SelectAllConfigRow[] Select(string filterExpression)
		{
			return (SelectAllConfigRow[])base.Select(filterExpression);
		}


		/// <summary>Gets an array of all SelectAllConfigRow objects that match the filter criteria, in the specified sort order</summary>
		/// <param name="filterExpression">The filter expression.</param>
		/// <param name="sort">A string specifying the column and sort direction.</param>
		/// <returns>Array with SelectAllConfigRow objects</returns>
		public new SelectAllConfigRow[] Select(string filterExpression, string sort)
		{
			return (SelectAllConfigRow[])base.Select(filterExpression, sort);
		}


		/// <summary>Gets an array of all SelectAllConfigRow objects that match the filter criteria, in the specified sort order that match the specified state</summary>
		/// <param name="filterExpression">The filter expression.</param>
		/// <param name="sort">A string specifying the column and sort direction.</param>
		/// <param name="recordStates">One of the <see cref="System.Data.DataViewRowState"/> values.</param>
		/// <returns>Array with SelectAllConfigRow objects</returns>
		public new SelectAllConfigRow[] Select(string filterExpression, string sort, DataViewRowState recordStates)
		{
			return (SelectAllConfigRow[])base.Select(filterExpression, sort, recordStates);
		}

	
		/// <summary>Returns the column object belonging to the TypedList field ConfigId</summary>
		internal DataColumn ConfigIdColumn 
		{
			get { return _columnConfigId; }
		}
    
		/// <summary>Returns the column object belonging to the TypedList field ConfigDescription</summary>
		internal DataColumn ConfigDescriptionColumn 
		{
			get { return _columnConfigDescription; }
		}
    
		/// <summary>Returns the column object belonging to the TypedList field Key</summary>
		internal DataColumn KeyColumn 
		{
			get { return _columnKey; }
		}
    
		/// <summary>Returns the column object belonging to the TypedList field Value</summary>
		internal DataColumn ValueColumn 
		{
			get { return _columnValue; }
		}
    
		/// <summary>Returns the column object belonging to the TypedList field ModeId</summary>
		internal DataColumn ModeIdColumn 
		{
			get { return _columnModeId; }
		}
    
		/// <summary>Returns the column object belonging to the TypedList field ModeName</summary>
		internal DataColumn ModeNameColumn 
		{
			get { return _columnModeName; }
		}
    
		/// <summary>Returns the column object belonging to the TypedList field ModeDescription</summary>
		internal DataColumn ModeDescriptionColumn 
		{
			get { return _columnModeDescription; }
		}
    
		/// <summary>Returns the column object belonging to the TypedList field AppCode</summary>
		internal DataColumn AppCodeColumn 
		{
			get { return _columnAppCode; }
		}
    
		/// <summary>Returns the column object belonging to the TypedList field ApplicationId</summary>
		internal DataColumn ApplicationIdColumn 
		{
			get { return _columnApplicationId; }
		}
    
		/// <summary>Returns the column object belonging to the TypedList field ConfigTypeName</summary>
		internal DataColumn ConfigTypeNameColumn 
		{
			get { return _columnConfigTypeName; }
		}
    
		/// <summary>Returns the column object belonging to the TypedList field ConfigTypeDescription</summary>
		internal DataColumn ConfigTypeDescriptionColumn 
		{
			get { return _columnConfigTypeDescription; }
		}
    
		/// <summary>Returns the column object belonging to the TypedList field ConfigTypeId</summary>
		internal DataColumn ConfigTypeIdColumn 
		{
			get { return _columnConfigTypeId; }
		}
    
		
		// __LLBLGENPRO_USER_CODE_REGION_START AdditionalColumnProperties
		// __LLBLGENPRO_USER_CODE_REGION_END
		
 		#endregion

		#region Custom TypedList code
		
		// __LLBLGENPRO_USER_CODE_REGION_START CustomTypedListCode
		// __LLBLGENPRO_USER_CODE_REGION_END
		
		#endregion

		#region Included Code

		#endregion
	}


	/// <summary>
	/// Typed datarow for the typed datatable SelectAllConfig
	/// </summary>
	public partial class SelectAllConfigRow : DataRow
		// __LLBLGENPRO_USER_CODE_REGION_START AdditionalInterfacesRow
		// __LLBLGENPRO_USER_CODE_REGION_END
			
	{
		#region Class Member Declarations
		private SelectAllConfigTypedList	_parent;
		#endregion

		/// <summary>CTor</summary>
		/// <param name="rowBuilder">Row builder object to use when building this row</param>
		protected internal SelectAllConfigRow(DataRowBuilder rowBuilder) : base(rowBuilder) 
		{
			_parent = ((SelectAllConfigTypedList)(this.Table));
		}


		#region Class Property Declarations
	
		/// <summary>Gets / sets the value of the TypedList field ConfigId<br/><br/>
		/// </summary>
		/// <remarks>Mapped on: Config.Id</remarks>
		public System.Int32 ConfigId 
		{
			get 
			{
				if(IsConfigIdNull())
				{
					return (System.Int32)TypeDefaultValue.GetDefaultValue(typeof(System.Int32));
				}
				else
				{
					return (System.Int32)this[_parent.ConfigIdColumn];
				}
			}
			set 
			{
				this[_parent.ConfigIdColumn] = value;
			}
		}

		/// <summary>Returns true if the TypedList field ConfigId is NULL, false otherwise.</summary>
		public bool IsConfigIdNull() 
		{
			return IsNull(_parent.ConfigIdColumn);
		}

		/// <summary>Sets the TypedList field ConfigId to NULL. Not recommended; a typed list should be used as a readonly object.</summary>
    	public void SetConfigIdNull() 
		{
			this[_parent.ConfigIdColumn] = System.Convert.DBNull;
		}

	

		/// <summary>Gets / sets the value of the TypedList field ConfigDescription<br/><br/>
		/// </summary>
		/// <remarks>Mapped on: Config.Description</remarks>
		public System.String ConfigDescription 
		{
			get 
			{
				if(IsConfigDescriptionNull())
				{
					return (System.String)TypeDefaultValue.GetDefaultValue(typeof(System.String));
				}
				else
				{
					return (System.String)this[_parent.ConfigDescriptionColumn];
				}
			}
			set 
			{
				this[_parent.ConfigDescriptionColumn] = value;
			}
		}

		/// <summary>Returns true if the TypedList field ConfigDescription is NULL, false otherwise.</summary>
		public bool IsConfigDescriptionNull() 
		{
			return IsNull(_parent.ConfigDescriptionColumn);
		}

		/// <summary>Sets the TypedList field ConfigDescription to NULL. Not recommended; a typed list should be used as a readonly object.</summary>
    	public void SetConfigDescriptionNull() 
		{
			this[_parent.ConfigDescriptionColumn] = System.Convert.DBNull;
		}

	

		/// <summary>Gets / sets the value of the TypedList field Key<br/><br/>
		/// </summary>
		/// <remarks>Mapped on: Config.Key</remarks>
		public System.String Key 
		{
			get 
			{
				if(IsKeyNull())
				{
					return (System.String)TypeDefaultValue.GetDefaultValue(typeof(System.String));
				}
				else
				{
					return (System.String)this[_parent.KeyColumn];
				}
			}
			set 
			{
				this[_parent.KeyColumn] = value;
			}
		}

		/// <summary>Returns true if the TypedList field Key is NULL, false otherwise.</summary>
		public bool IsKeyNull() 
		{
			return IsNull(_parent.KeyColumn);
		}

		/// <summary>Sets the TypedList field Key to NULL. Not recommended; a typed list should be used as a readonly object.</summary>
    	public void SetKeyNull() 
		{
			this[_parent.KeyColumn] = System.Convert.DBNull;
		}

	

		/// <summary>Gets / sets the value of the TypedList field Value<br/><br/>
		/// </summary>
		/// <remarks>Mapped on: Config.Value</remarks>
		public System.String Value 
		{
			get 
			{
				if(IsValueNull())
				{
					return (System.String)TypeDefaultValue.GetDefaultValue(typeof(System.String));
				}
				else
				{
					return (System.String)this[_parent.ValueColumn];
				}
			}
			set 
			{
				this[_parent.ValueColumn] = value;
			}
		}

		/// <summary>Returns true if the TypedList field Value is NULL, false otherwise.</summary>
		public bool IsValueNull() 
		{
			return IsNull(_parent.ValueColumn);
		}

		/// <summary>Sets the TypedList field Value to NULL. Not recommended; a typed list should be used as a readonly object.</summary>
    	public void SetValueNull() 
		{
			this[_parent.ValueColumn] = System.Convert.DBNull;
		}

	

		/// <summary>Gets / sets the value of the TypedList field ModeId<br/><br/>
		/// </summary>
		/// <remarks>Mapped on: Mode.Id</remarks>
		public System.Int32 ModeId 
		{
			get 
			{
				if(IsModeIdNull())
				{
					return (System.Int32)TypeDefaultValue.GetDefaultValue(typeof(System.Int32));
				}
				else
				{
					return (System.Int32)this[_parent.ModeIdColumn];
				}
			}
			set 
			{
				this[_parent.ModeIdColumn] = value;
			}
		}

		/// <summary>Returns true if the TypedList field ModeId is NULL, false otherwise.</summary>
		public bool IsModeIdNull() 
		{
			return IsNull(_parent.ModeIdColumn);
		}

		/// <summary>Sets the TypedList field ModeId to NULL. Not recommended; a typed list should be used as a readonly object.</summary>
    	public void SetModeIdNull() 
		{
			this[_parent.ModeIdColumn] = System.Convert.DBNull;
		}

	

		/// <summary>Gets / sets the value of the TypedList field ModeName<br/><br/>
		/// </summary>
		/// <remarks>Mapped on: Mode.Name</remarks>
		public System.String ModeName 
		{
			get 
			{
				if(IsModeNameNull())
				{
					return (System.String)TypeDefaultValue.GetDefaultValue(typeof(System.String));
				}
				else
				{
					return (System.String)this[_parent.ModeNameColumn];
				}
			}
			set 
			{
				this[_parent.ModeNameColumn] = value;
			}
		}

		/// <summary>Returns true if the TypedList field ModeName is NULL, false otherwise.</summary>
		public bool IsModeNameNull() 
		{
			return IsNull(_parent.ModeNameColumn);
		}

		/// <summary>Sets the TypedList field ModeName to NULL. Not recommended; a typed list should be used as a readonly object.</summary>
    	public void SetModeNameNull() 
		{
			this[_parent.ModeNameColumn] = System.Convert.DBNull;
		}

	

		/// <summary>Gets / sets the value of the TypedList field ModeDescription<br/><br/>
		/// </summary>
		/// <remarks>Mapped on: Mode.Description</remarks>
		public System.String ModeDescription 
		{
			get 
			{
				if(IsModeDescriptionNull())
				{
					return (System.String)TypeDefaultValue.GetDefaultValue(typeof(System.String));
				}
				else
				{
					return (System.String)this[_parent.ModeDescriptionColumn];
				}
			}
			set 
			{
				this[_parent.ModeDescriptionColumn] = value;
			}
		}

		/// <summary>Returns true if the TypedList field ModeDescription is NULL, false otherwise.</summary>
		public bool IsModeDescriptionNull() 
		{
			return IsNull(_parent.ModeDescriptionColumn);
		}

		/// <summary>Sets the TypedList field ModeDescription to NULL. Not recommended; a typed list should be used as a readonly object.</summary>
    	public void SetModeDescriptionNull() 
		{
			this[_parent.ModeDescriptionColumn] = System.Convert.DBNull;
		}

	

		/// <summary>Gets / sets the value of the TypedList field AppCode<br/><br/>
		/// </summary>
		/// <remarks>Mapped on: Application.AppCode</remarks>
		public System.String AppCode 
		{
			get 
			{
				if(IsAppCodeNull())
				{
					return (System.String)TypeDefaultValue.GetDefaultValue(typeof(System.String));
				}
				else
				{
					return (System.String)this[_parent.AppCodeColumn];
				}
			}
			set 
			{
				this[_parent.AppCodeColumn] = value;
			}
		}

		/// <summary>Returns true if the TypedList field AppCode is NULL, false otherwise.</summary>
		public bool IsAppCodeNull() 
		{
			return IsNull(_parent.AppCodeColumn);
		}

		/// <summary>Sets the TypedList field AppCode to NULL. Not recommended; a typed list should be used as a readonly object.</summary>
    	public void SetAppCodeNull() 
		{
			this[_parent.AppCodeColumn] = System.Convert.DBNull;
		}

	

		/// <summary>Gets / sets the value of the TypedList field ApplicationId<br/><br/>
		/// </summary>
		/// <remarks>Mapped on: Application.Id</remarks>
		public System.Int32 ApplicationId 
		{
			get 
			{
				if(IsApplicationIdNull())
				{
					return (System.Int32)TypeDefaultValue.GetDefaultValue(typeof(System.Int32));
				}
				else
				{
					return (System.Int32)this[_parent.ApplicationIdColumn];
				}
			}
			set 
			{
				this[_parent.ApplicationIdColumn] = value;
			}
		}

		/// <summary>Returns true if the TypedList field ApplicationId is NULL, false otherwise.</summary>
		public bool IsApplicationIdNull() 
		{
			return IsNull(_parent.ApplicationIdColumn);
		}

		/// <summary>Sets the TypedList field ApplicationId to NULL. Not recommended; a typed list should be used as a readonly object.</summary>
    	public void SetApplicationIdNull() 
		{
			this[_parent.ApplicationIdColumn] = System.Convert.DBNull;
		}

	

		/// <summary>Gets / sets the value of the TypedList field ConfigTypeName<br/><br/>
		/// </summary>
		/// <remarks>Mapped on: ConfigType.Name</remarks>
		public System.String ConfigTypeName 
		{
			get 
			{
				if(IsConfigTypeNameNull())
				{
					return (System.String)TypeDefaultValue.GetDefaultValue(typeof(System.String));
				}
				else
				{
					return (System.String)this[_parent.ConfigTypeNameColumn];
				}
			}
			set 
			{
				this[_parent.ConfigTypeNameColumn] = value;
			}
		}

		/// <summary>Returns true if the TypedList field ConfigTypeName is NULL, false otherwise.</summary>
		public bool IsConfigTypeNameNull() 
		{
			return IsNull(_parent.ConfigTypeNameColumn);
		}

		/// <summary>Sets the TypedList field ConfigTypeName to NULL. Not recommended; a typed list should be used as a readonly object.</summary>
    	public void SetConfigTypeNameNull() 
		{
			this[_parent.ConfigTypeNameColumn] = System.Convert.DBNull;
		}

	

		/// <summary>Gets / sets the value of the TypedList field ConfigTypeDescription<br/><br/>
		/// </summary>
		/// <remarks>Mapped on: ConfigType.Description</remarks>
		public System.String ConfigTypeDescription 
		{
			get 
			{
				if(IsConfigTypeDescriptionNull())
				{
					return (System.String)TypeDefaultValue.GetDefaultValue(typeof(System.String));
				}
				else
				{
					return (System.String)this[_parent.ConfigTypeDescriptionColumn];
				}
			}
			set 
			{
				this[_parent.ConfigTypeDescriptionColumn] = value;
			}
		}

		/// <summary>Returns true if the TypedList field ConfigTypeDescription is NULL, false otherwise.</summary>
		public bool IsConfigTypeDescriptionNull() 
		{
			return IsNull(_parent.ConfigTypeDescriptionColumn);
		}

		/// <summary>Sets the TypedList field ConfigTypeDescription to NULL. Not recommended; a typed list should be used as a readonly object.</summary>
    	public void SetConfigTypeDescriptionNull() 
		{
			this[_parent.ConfigTypeDescriptionColumn] = System.Convert.DBNull;
		}

	

		/// <summary>Gets / sets the value of the TypedList field ConfigTypeId<br/><br/>
		/// </summary>
		/// <remarks>Mapped on: ConfigType.Id</remarks>
		public System.Int32 ConfigTypeId 
		{
			get 
			{
				if(IsConfigTypeIdNull())
				{
					return (System.Int32)TypeDefaultValue.GetDefaultValue(typeof(System.Int32));
				}
				else
				{
					return (System.Int32)this[_parent.ConfigTypeIdColumn];
				}
			}
			set 
			{
				this[_parent.ConfigTypeIdColumn] = value;
			}
		}

		/// <summary>Returns true if the TypedList field ConfigTypeId is NULL, false otherwise.</summary>
		public bool IsConfigTypeIdNull() 
		{
			return IsNull(_parent.ConfigTypeIdColumn);
		}

		/// <summary>Sets the TypedList field ConfigTypeId to NULL. Not recommended; a typed list should be used as a readonly object.</summary>
    	public void SetConfigTypeIdNull() 
		{
			this[_parent.ConfigTypeIdColumn] = System.Convert.DBNull;
		}

	
		#endregion

		#region Custom Typed List Row Code
		
		// __LLBLGENPRO_USER_CODE_REGION_START CustomTypedListRowCode
		// __LLBLGENPRO_USER_CODE_REGION_END
		
		#endregion
	}
}
